package com.petdog.module.tools.dto;

import lombok.Data;

import javax.validation.constraints.*;
import java.time.LocalDateTime;

/**
 * 上传所见宠物的请求参数
 */
@Data
public class UploadSightingRequest {

    /**
     * 发现时间
     */
    @NotNull(message = "请填写发现时间")
    private LocalDateTime sightingTime;

    /**
     * 发现地点描述
     */
    @NotBlank(message = "请填写发现地点")
    @Size(max = 200, message = "发现地点描述长度不能超过200字符")
    private String sightingLocation;

    /**
     * 经度
     */
    @NotNull(message = "请提供位置信息")
    @DecimalMin(value = "73.0", message = "位置信息无效")
    @DecimalMax(value = "135.0", message = "位置信息无效")
    private Double longitude;

    /**
     * 纬度
     */
    @NotNull(message = "请提供位置信息")
    @DecimalMin(value = "3.0", message = "位置信息无效")
    @DecimalMax(value = "53.0", message = "位置信息无效")
    private Double latitude;

    /**
     * 备注信息
     */
    @Size(max = 200, message = "备注信息长度不能超过200字符")
    private String description;
}